﻿using System;
using System.Text;
using System.Collections.Generic;
using System.Data;
using System.ComponentModel.DataAnnotations;
using BCDto.Utils;

namespace BCDto.Trading.SaleGoods.SaleGoodsNorm
{
    /// <summary>
    /// 销售商品规格
    /// </summary>
    public class SaleGoodsNormRequestDto
    {
        /// <summary>
        /// 商品唯一码
        /// </summary>		
        [Display(Name = "商品唯一码")]
        [Required(ErrorMessage = "{0} 不应为空")]
        [StringLength(50, MinimumLength = 6, ErrorMessage = "{0} 长度应大于{2} 且小于{1}")]
        public string Sku { get; set; }
        /// <summary>
        /// 商品规格名称
        /// </summary>		
        [Display(Name = "商品规格名称")]
        [Required(ErrorMessage = "{0} 不应为空")]
        [StringLength(50, MinimumLength = 1, ErrorMessage = "{0} 长度应大于{2} 且小于{1}")]
        public string NormName { get; set; }

        /// <summary>
        /// 商品唯一码加规格码
        /// </summary>		
        [Display(Name = "商品唯一码加规格码")]
        [Required(ErrorMessage = "{0} 不应为空")]
        [StringLength(100, MinimumLength = 2, ErrorMessage = "{0} 长度应大于{2} 且小于{1}")]
        public string NormNo { get; set; }
        /// <summary>
        /// 商品主图
        /// </summary>		
        [Display(Name = "商品主图")]
        [Required(ErrorMessage = "{0} 不应为空")]
        [StringLength(1000, MinimumLength = 6, ErrorMessage = "{0} 长度应大于{2} 且小于{1}")]
        [ImageAttribute()]
        public string MainImage { get; set; }
        /// <summary>
        /// 是否需要询价
        /// </summary>		
        [Display(Name = "是否需要询价")]
        [Required(ErrorMessage = "{0} 不应为空")]
        public bool HasBargain { get; set; }
        /// <summary>
        /// 是否阶梯价格
        /// </summary>		
        [Display(Name = "是否阶梯价格")]
        [Required(ErrorMessage = "{0} 不应为空")]
        public bool HasStepPrice { get; set; }
        /// <summary>
        /// 销售价格
        /// </summary>		
        [Display(Name = "销售价格")]
        public decimal? SaleAmount { get; set; }
        /// <summary>
        /// 第一阶梯开始数量
        /// </summary>		
        [Display(Name = "第一阶梯开始数量")]
        public int? StepOneStartNumber { get; set; }
        /// <summary>
        /// 第一阶梯结束数量
        /// </summary>		
        [Display(Name = "第一阶梯结束数量")]
        public int? StepOneEndNumber { get; set; }
        /// <summary>
        /// 第二阶梯开始数量
        /// </summary>		
        [Display(Name = "第二阶梯开始数量")]
        public int? StepTwoStartNumber { get; set; }
        /// <summary>
        /// 第二阶梯结束数量
        /// </summary>		
        [Display(Name = "第二阶梯结束数量")]
        public int? StepTwoEndNumber { get; set; }
        /// <summary>
        /// 第三阶梯开始数量
        /// </summary>		
        [Display(Name = "第三阶梯开始数量")]
        public int? StepThreeStartNumber { get; set; }
        /// <summary>
        /// 第三阶梯结束数量
        /// </summary>		
        [Display(Name = "第三阶梯结束数量")]
        public int? StepThreeEndNumber { get; set; }
        /// <summary>
        /// 第一阶梯销售价格
        /// </summary>		
        [Display(Name = "第一阶梯销售价格")]
        public decimal? StepOnePrice { get; set; }
        /// <summary>
        /// 第二阶梯销售价格
        /// </summary>		
        [Display(Name = "第二阶梯销售价格")]
        public decimal? StepTwoPrice { get; set; }
        /// <summary>
        /// 第三阶梯销售价格
        /// </summary>		
        [Display(Name = "第三阶梯销售价格")]
        public decimal? StepThreePrice { get; set; }
        /// <summary>
        /// 单位
        /// </summary>		
        [Display(Name = "单位")]
        [Required(ErrorMessage = "{0} 不应为空")]
        [StringLength(10, MinimumLength = 1, ErrorMessage = "{0} 长度应大于{2} 且小于{1}")]
        public string SaleUnit { get; set; }
        /// <summary>
        /// 有内容顶部视频
        /// </summary>		
        [Display(Name = "有内容顶部视频")]
        [Required(ErrorMessage = "{0} 不应为空")]
        public bool HasContentHeaderVideo { get; set; }
        /// <summary>
        /// 内容顶部视频地址
        /// </summary>		
        [Display(Name = "内容顶部视频地址")]
        public string ContentHeaderVideo { get; set; }
        /// <summary>
        /// 有内容摘要
        /// </summary>		
        [Display(Name = "有内容摘要")]
        [Required(ErrorMessage = "{0} 不应为空")]
        public bool HasContentSummary { get; set; }
        /// <summary>
        /// 内容摘要
        /// </summary>		
        [Display(Name = "内容摘要")]
        public string ContentSummary { get; set; }
        /// <summary>
        /// 内容
        /// </summary>		
        [Display(Name = "内容")]
        [Required(ErrorMessage = "{0} 不应为空")]
        public string Content { get; set; }
        /// <summary>
        /// 有相关产品
        /// </summary>		
        [Display(Name = "有相关产品")]
        [Required(ErrorMessage = "{0} 不应为空")]
        public bool HasRelatedProducts { get; set; }
        /// <summary>
        /// 相关产品Id树形码
        /// </summary>		
        [Display(Name = "相关产品Id树形码")]
        [StringLength(200, MinimumLength = 0, ErrorMessage = "{0} 长度应大于{2} 且小于{1}")]
        public string RelatedProductsIdPath { get; set; }
        /// <summary>
        /// 库存数量
        /// </summary>		
        [Display(Name = "库存数量")]
        [Required(ErrorMessage = "{0} 不应为空")]
        public int InventoryCount { get; set; }
    }
}

